#include<stdio.h>
#include<math.h>
typedef unsigned char *byte_pointer;
void x_to_b(int x)
{
	
	int a,b,i,j,n,p;
	a=x/0x10;
	b=x-a*16;
	n=a;
	for(i=3;i>=0;i--)
	{
		p=1;
		for(j=0;j<i;j++)
		p=p*2;
		n=a/p;
		a-=n*p;
		printf("%d",n);
	}
//	printf(" ");
	n=b;
	for(i=3;i>=0;i--)
        {	
		p=1;
                for(j=0;j<i;j++)
                p=p*2;

                n=b/p;
		b-=n*p;
                printf("%d",n);
        }

}
void show_bytes(byte_pointer start,size_t len){
        size_t i;
        /*for(i=0;i<len;i++)
	{
		printf("%.2x ",start[i]);
	}
	printf("\n");*/
	for(i=0;i<len;i++)
	{
	x_to_b(start[i]);
	}
	printf("\n");
}
void show_int(int x){
        show_bytes((byte_pointer)&x,sizeof(int));
}
void show_float(float x){
        show_bytes((byte_pointer)&x,sizeof(float));
}
void show_pointer(void *x){
        show_bytes((byte_pointer)&x,sizeof(void *));
}

int main()
{
        int i=0x5222;
	float f=(float)i;
	printf("       ");
        show_int(i);
	show_float(f);
}

